Machine learning may be applied to automatically generate an algorithm that is improved through experience. Applications of machine learning range from data mining programs that discover general rules in large data sets, to information filtering systems that automatically learn users' interests. The algorithm that is automatically generated and updated is often referred to as a model.
Typically, a machine learning system collects data over a period of time. In order to preserve resources for online services, the system generates or updates the model offline based upon the collected data. The model may then be applied to generate decisions in various scenarios.